﻿using System;
namespace Kis.Xroad.Eu {
    
    
    [System.SerializableAttribute()]
    public partial class SequenceNullabilityOfUserDefined {
        
        private global::Kis.Xroad.Eu.PositiveCelcius @__degreesNillable;
        
        private global::Kis.Xroad.Eu.PositiveCelcius @__degreesNonNillable;
        
        private global::Kis.Xroad.Eu.Gender @__gengerNil;
        
        private global::Kis.Xroad.Eu.Gender @__gengerNonNil;
        
        public SequenceNullabilityOfUserDefined() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public SequenceNullabilityOfUserDefined(global::Kis.Xroad.Eu.PositiveCelcius @degreesNillable, global::Kis.Xroad.Eu.PositiveCelcius @degreesNonNillable, global::Kis.Xroad.Eu.Gender @gengerNil, global::Kis.Xroad.Eu.Gender @gengerNonNil) {
            this.@__degreesNillable = @degreesNillable;
            this.@__degreesNonNillable = @degreesNonNillable;
            this.@__gengerNil = @gengerNil;
            this.@__gengerNonNil = @gengerNonNil;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public SequenceNullabilityOfUserDefined(global::Kis.Xroad.Eu.PositiveCelcius @degreesNonNillable, global::Kis.Xroad.Eu.Gender @gengerNonNil) {
            this.@__degreesNonNillable = @degreesNonNillable;
            this.@__gengerNonNil = @gengerNonNil;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected SequenceNullabilityOfUserDefined(SequenceNullabilityOfUserDefined @sequenceNullabilityOfUserDefined) {
            this.@__degreesNillable = @sequenceNullabilityOfUserDefined.DegreesNillable;
            this.@__degreesNonNillable = @sequenceNullabilityOfUserDefined.DegreesNonNillable;
            this.@__gengerNil = @sequenceNullabilityOfUserDefined.GengerNil;
            this.@__gengerNonNil = @sequenceNullabilityOfUserDefined.GengerNonNil;
        }
        
        public virtual global::Kis.Xroad.Eu.PositiveCelcius DegreesNillable {
            get {
                return this.@__degreesNillable;
            }
            set {
                this.@__degreesNillable = value;
            }
        }
        
        public virtual global::Kis.Xroad.Eu.PositiveCelcius DegreesNonNillable {
            get {
                return this.@__degreesNonNillable;
            }
            set {
                this.@__degreesNonNillable = value;
            }
        }
        
        public virtual global::Kis.Xroad.Eu.Gender GengerNil {
            get {
                return this.@__gengerNil;
            }
            set {
                this.@__gengerNil = value;
            }
        }
        
        public virtual global::Kis.Xroad.Eu.Gender GengerNonNil {
            get {
                return this.@__gengerNonNil;
            }
            set {
                this.@__gengerNonNil = value;
            }
        }
    }
}
